package com.wlzg.collectiontool.model.bean

import com.contrarywind.interfaces.IPickerViewData
import com.google.gson.annotations.SerializedName
import com.haoge.easyandroid.easy.PreferenceRename
import com.haoge.easyandroid.easy.PreferenceSupport

@PreferenceRename("loginres")
class LoginRes : PreferenceSupport() {
    var multi_depart = 0
    var userInfo: UserInfo? = null
    var sysAllDictItems: SysAllDictItems? = null
    var token: String? = null
    var departs: List<*>? = null

  class UserInfo {
        var id: String? = null
        var username: String? = null
        var realname: String? = null
        var avatar: Any? = null
        var birthday: Any? = null
        var sex: Any? = null
        var email: Any? = null
        var phone: String? = null
        var orgCode: String? = null
        var orgCodeTxt: Any? = null
        var status = 0
        var delFlag = 0
        var workNo: String? = null
        var post: String? = null
        var telephone: Any? = null
        var createBy: String? = null
        var createTime: String? = null
        var updateBy: String? = null
        var updateTime: String? = null
        var activitiSync = 0
        var userIdentity = 0
        var departIds: String? = null
        var relTenantIds: String? = null
        var clientId: Any? = null
    }

    class SysAllDictItems {
        var ol_form_biz_type: List<OlFormBizType>? = null
        var manholeDefects: List<OlFormBizType>? = null
        var outfallCa: List<OlFormBizType>? = null
        var position_rank: List<OlFormBizType>? = null
        var rule_conditions: List<OlFormBizType>? = null
        var check_type: List<OlFormBizType>? = null
        var manhole_type: List<OlFormBizType>? = null
        var manfunDefects: List<OlFormBizType>? = null
        var functionalDefects: List<OlFormBizType>? = null
        var outfallmaterial: List<OlFormBizType>? = null
        var branch: List<OlFormBizType>? = null
        var ceshi_online: List<CeshiOnline>? = null
        var online_graph_data_type: List<OnlineGraphDataType>? = null
        var manhole_style: List<OlFormBizType>? = null
        var pipe_status: List<OlFormBizType>? = null
        var regionalImport: List<OlFormBizType>? = null

        @SerializedName("ZAW")
        var zaw: List<OlFormBizType>? = null
        var mancheck_type: List<OlFormBizType>? = null
        var user_type: List<UserType>? = null
        var yn: List<OlFormBizType>? = null

        @SerializedName("QF")
        var qf: List<OlFormBizType>? = null
        var is_dispose: List<OlFormBizType>? = null
        var manstruDefects: List<OlFormBizType>? = null
        var tenant_status: List<OlFormBizType>? = null
        var combshape: List<OlFormBizType>? = null
        var del_flag: List<DelFlag>? = null
        var manholeMaterial: List<OlFormBizType>? = null
        var pipeImport: List<OlFormBizType>? = null
        var checkDisposeStatus: List<OlFormBizType>? = null
        var check_method: List<OlFormBizType>? = null
        var msg_category: List<MsgCategory>? = null

        @SerializedName("AJ")
        var aj: List<OlFormBizType>? = null
        var equipment: List<OlFormBizType>? = null
        var org_category: List<OlFormBizType>? = null
        var hunjiePoint: List<OlFormBizType>? = null
        var priority: List<OlFormBizType>? = null
        var dict_item_status: List<OlFormBizType>? = null
        var outfallTy: List<OlFormBizType>? = null
        var structureDefects: List<OlFormBizType>? = null
        var defect_code: List<OlFormBizType>? = null
        var msgSendStatus: List<MsgSendStatus>? = null
        var datasource: List<OlFormBizType>? = null
        var combtype: List<OlFormBizType>? = null
        var msg_type: List<MsgType>? = null
        var eoa_plan_type: List<OlFormBizType>? = null
        var problemType: List<OlFormBizType>? = null

        @SerializedName("JG")
        var jg: List<OlFormBizType>? = null
        var soilT: List<OlFormBizType>? = null
        var status: List<Status>? = null
        var msgType: List<OlFormBizType>? = null
        var pipe_survey: List<OlFormBizType>? = null
        var eoa_plan_status: List<OlFormBizType>? = null

        @SerializedName("FS")
        var fs: List<OlFormBizType>? = null
        var database_type: List<OlFormBizType>? = null
        var log_type: List<LogType>? = null

        @SerializedName("SG")
        var sg: List<OlFormBizType>? = null

        @SerializedName("FZ")
        var fz: List<OlFormBizType>? = null

        @SerializedName("BX")
        var bx: List<OlFormBizType>? = null
        var manholeCategory: List<OlFormBizType>? = null
        var send_status: List<OlFormBizType>? = null

        @SerializedName("SL")
        var sl: List<OlFormBizType>? = null
        var is_complete: List<OlFormBizType>? = null
        var hunjieSource: List<OlFormBizType>? = null
        var RYX001: List<OlFormBizType>? = null
        var wordPicSet: List<OlFormBizType>? = null
        var RYX002: List<OlFormBizType>? = null
        var bpm_process_type: List<BpmProcessType>? = null
        var RYX003: List<OlFormBizType>? = null
        var form_perms_type: List<OlFormBizType>? = null
        var valid_status: List<OlFormBizType>? = null
        var user_status: List<UserStatus>? = null
        var operate_type: List<OlFormBizType>? = null
        var domainSwitching: List<OlFormBizType>? = null
        var quartz_status: List<OlFormBizType>? = null
        var menu_type: List<MenuType>? = null
        var facilityType: List<OlFormBizType>? = null
        var sex: List<Sex>? = null

        @SerializedName("CJ")
        var cj: List<OlFormBizType>? = null

        @SerializedName("CK")
        var ck: List<OlFormBizType>? = null
        var perms_type: List<OlFormBizType>? = null
        var global_perms_type: List<OlFormBizType>? = null
        var online_graph_type: List<OnlineGraphType>? = null
        var pipe_categ: List<OlFormBizType>? = null

        @SerializedName("CQ")
        var cq: List<OlFormBizType>? = null

        @SerializedName("CR")
        var cr: List<OlFormBizType>? = null
        var material: List<OlFormBizType>? = null

        @SerializedName("TJ")
        var tj: List<OlFormBizType>? = null

        @SerializedName("TL")
        var tl: List<OlFormBizType>? = null
        var bpm_status: List<OlFormBizType>? = null
        var depart_status: List<DepartStatus>? = null
        var flowdirect: List<OlFormBizType>? = null

        @SerializedName("PL")
        var pl: List<OlFormBizType>? = null

        class OlFormBizType :IPickerViewData{
            var value: String? = null
            var text: String? = null
            var description: String? = null
            var title: String? = null
            override fun toString(): String {
                return text!!
            }

            override fun getPickerViewText(): String {
                return text!!
            }
        }

        class CeshiOnline {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class OnlineGraphDataType {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class UserType {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class DelFlag {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class MsgCategory {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class MsgSendStatus {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class MsgType {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class Status {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class LogType {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class BpmProcessType {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class UserStatus {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class MenuType {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class Sex {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class OnlineGraphType {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }

        class DepartStatus {
            var value: String? = null
            var text: String? = null
            var description: Any? = null
            var title: String? = null
        }
    }
}